home *** CD-ROM | disk | FTP | other *** search
- Path: nnrp.info.ucla.edu!jmartin
- From: jmartin@cs.ucla.edu (Jay Martin)
- Newsgroups: comp.lang.c++,comp.lang.eiffel,comp.lang.c,comp.object,comp.software-eng
- Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
- Date: 14 Mar 1996 04:07:55 GMT
- Organization: University of California, Los Angeles
- Message-ID: <4i862r$1evq@saba.info.ucla.edu>
- References: <1995Jul3.034108.4193@rcmcon.com> <3taaha$p8j@ixnews3.ix.netcom.com> <3taodp$859@saba.info.ucla.edu> <3tap9h$qp3@saba.info.ucla.edu> <314628F2.31C8@aud.alcatel.com> <RMARTIN.96Mar13110714@rcm.oma.com>
- NNTP-Posting-Host: may.cs.ucla.edu
- X-Newsreader: NN version 6.5.0.b3.0 #9 (NOV)
-
-
- Geez, when was this thread, a year ago? Well to recap ancient
- history it started when Robert Martin (below) called Bertrand Meyer a
- bigot for warning managers about C hacker types. Rewind thread!
-
-
- rmartin@oma.com (Robert C. Martin) writes:
-
- > Jay Martin wrote:
- > > Rabid worship of C increases the probabilty the person is a hacker.
-
- >Rabid worship of any language is inappropriate. Languages are tools,
- >no more, no less. However, rabid worship of C in particular does not
- >increase the probability that one is a hacker; since hacking is an
- >attitude with regard to the way tools are used, not an attitude about
- >*which* tools to use. Hacking is "Programming for the moment", as
- >opposed to "Programming for the Future".
-
- No "hacking" is broader than that, it is writing poor code period. It
- is writing low level or obscure code when it is unnecessary because
- you think that its great. You usually don't see such behavior in
- then Eiffel, Ada, Modula*,etc communities. You only compromise your
- software (like writing low level code) when you have a "gun to your
- head", then you must curse like hell!
-
- Note that when I use the term "Software Engineering", I am talking
- about optimizing the design and implementation of software which means
- using the best tools and techniques. I don't believe in defining SE
- as something that only concentrates on processes. Practical
- limitations like "Johnny only knows COBOL" or "tool implementation
- Y on target X sucks", are not software engineering technology
- decisions that are at all satisfying.
-
- > > The basic tenents of C culture are anti-software engineering.
-
- >There is no C culture. C is a language, a tool, not a culture.
- >Associating a tool with a culture is rather like associating a skin
- >color with a culture. There is a word for that. The word is
- >bigotry.
-
- >Are there C programmers that are hackers? Sure. Are there Eiffel
- >programmers who are hackers? Sure. What is the proportion? I'd be
- >surprised if a statistical analysis of the difference between the
- >proportions of C and Eiffel hackers differed significantly from
- >chance. However, I doubt very much if any such study will be
- >conducted. Thus, any assertion regarding the whether the proportions
- >are different is based upon opinion and not fact.
-
- First see,"I Corporation"'s recent post under "Beware of "C"
- Hackers..." in "comp.software-eng" which excelently conveys my basic
- feelings on this issue.
-
- You have no studies to backup that Eiffel and C programmers are
- magically identical so this is just a red herring. (The reason for no
- studies is that someone needs to shove a shotgun in the face academic
- computer science and pull the trigger). Competent software engineers
- are not hackers. Hackers do not like the restrictiveness of an
- Eiffel or an Ada or any other software engineering language, thus
- these languages are not likely to attract hackers. C is
- unrestrictive and attracts hackers in droves. I have never worked
- with an Eiffel programmer, but given an Eiffel programmer spouting
- high level design and implementation concepts and a C programmer who
- says "I use pointer arithmetic cuz it may be faster, I don't trust no
- compilers" and "I write terse code all on my line cuz its cool like
- mathematics and gee, I is a mathematical genius or something",
- the Eiffel programmer is basically going to get the job.
-
- In my book, to be a competent software engineer you must must also be
- an very knowledgable at computer language design and also compiler
- optimization. Its common knowledge that C is poorly designed and
- thus rabid worshipers of C are not too swift.
-
- > > (1) C makes low level code extremely easy to create and the C culture
- > > says that low level code is cool.
-
- >C also makes high level code easy to create, and there are many of us
- >who say that "high level code is cool".
-
- If C is so wonderful for making high level code, then what the bleep
- was C++ invented for? Most code written in C is low level crap. Is
- it "easier" in C to write high level code than other "high level"
- languages? I don't have problems with high level C programmers who
- understand the limitations of their tools. I don't see "rabid C
- fanatics" who mostly worship the low level in this catagory.
-
- Culture is everywhere. I have seen many FORTRAN programmers have
- brain seizures when they first saw identifiers longer than 6
- characters and of lower/mixed case. I see correlations between
- C/Unix fanatics and poor software engineering opinions and
- attitudes. Its politically correct nonsense for human beings not to
- try to identify patterns of behavior. So if a programmer starts
- spouting nonsense and doesn't have what I label as a correct software
- engineering opinions and attitude, I am not impressed. I guess I am a
- bigot, a bigot against incompetency.
-
- To demonstrate the "C hacker culture" (filed under macho attitudes)
- here's a random recent example:
-
- rmartin@oma.com (Robert C. Martin) writes:
-
- >No, I disagree with your point. It is not the responsibility of the
- >language to make the engineer better. It is the responsibility of the
- >engineer to become adept at the language.
-
- Clear demonstration of views that have left software engineering
- and entered the "C Hacker Zone".
-
- Jay
-